package 网络编程通信三要素.InetAddress;

// 目标: 掌握InetAddress类的使用

import java.net.InetAddress;

public class Test {
    public static void main(String[] args) throws Exception {
        // InetAddress: 代表IP地址

        // InetAddress的常用方法如下
        // 1. public static InetAddress getLocalHost(): 获取本机IP, 会以一个inetAddress的对象返回
        // 2. public static InetAddress getByName(String host): 根据ip地址或者域名, 返回一个inetAddress对象
        // 3. public String getHostName(): 获取该ip地址对象对应的主机名.
        // 4. public String getHostAddress(): 获取该ip地址对象中的ip地址信息.
        // 5. public boolean isReachable(int timeout): 在指定毫秒内, 判断主机与该ip对应的主机是否能连通

        // 1. 获取本机IP地址对象
        InetAddress ip1 = InetAddress.getLocalHost();
        System.out.println(ip1.getHostName()); // 主机名
        System.out.println(ip1.getHostAddress()); // ip地址信息

        // 2. 获取指定IP或者域名的IP地址对象
        InetAddress ip2 = InetAddress.getByName("www.baidu.com");
        System.out.println(ip2.getHostName());
        System.out.println(ip2.getHostAddress());

        System.out.println(ip2.isReachable(6000));

    }
}
